←Select platform

SetModalityLut(DicomModalityLutAttributes,int[]) Method

Summary
Sets the attributes that describe the Modality LUT.
Syntax
C#
C++/CLI
Java
public void SetModalityLut( 
   DicomModalityLutAttributes attributes, 
   int[] data 
) 
public void setModalityLut(DicomModalityLutAttributes attributes, int[]data) 
public: 
void SetModalityLut(  
   DicomModalityLutAttributes^ attributes, 
   array<int>^ data 
)  

Parameters

attributes
The Modality LUT attributes to set.

data
Array of integers that holds the "LUT Data".

Remarks

This method will set the attributes of the "Modality LUT Module". If you are trying to set the "Rescale Intercept" (0028,1052) and "Rescale Slope" (0028,1053), set IsRescaleSlopeIntercept to true, and populate RescaleIntercept and RescaleSlope with the new values. You can also populate RescaleType if you want to set "Rescale Type" (0028,1054).

If you are trying to set the elements under "Modality LUT Sequence", set IsModalityLutSequence to true, and populate FirstStoredPixelValueMapped, NumberOfEntries, EntryBits, and LutType. In this case, [data](" id="dataparameterlink" class="popuplink.html) should hold the "LUT Data" (0028,3006).

Example

This example will set the modality LUT information inside a DICOM dataset.

C#
using Leadtools; 
using Leadtools.Dicom; 
 
 
public void TestSetModalityLut() 
{ 
   string dicomFileName = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "image3.dcm"); 
   //Make sure to initialize the DICOM engine, this needs to be done only once  
   //In the whole application 
   DicomEngine.Startup(); 
   using (DicomDataSet ds = new DicomDataSet()) 
   { 
      //Load DICOM File 
      ds.Load(dicomFileName, DicomDataSetLoadFlags.None); 
      DicomModalityLutAttributes modalityLutAttributes = new DicomModalityLutAttributes(); 
      //No Modality LUT Sequence (0028,3000)  
      modalityLutAttributes.IsModalityLutSequence = false; 
      //Yes there is a rescale slope and intercept 
      modalityLutAttributes.IsRescaleSlopeIntercept = true; 
      modalityLutAttributes.RescaleIntercept = -128.0; 
      modalityLutAttributes.RescaleSlope = 1.0; 
      modalityLutAttributes.RescaleType = "UNSPECIFIED"; 
      // Delete the existing modality LUT,  
      // although we don't have to !  
      ds.DeleteModalityLut(); 
      //Set rescale slope and intercept 
      ds.SetModalityLut(modalityLutAttributes, null); 
      ds.Save(Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "MLUT.dcm"), DicomDataSetSaveFlags.None); 
   } 
   DicomEngine.Shutdown(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Dicom Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.